package com.webster.isw.core.service.impl;

import com.webster.isw.core.service.ParamService;
import com.webster.isw.core.service.ScheduledService;
import org.quartz.JobDataMap;
import org.quartz.SchedulerException;
import org.slf4j.Logger;
import org.springframework.stereotype.Service;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * 计划任务
 * todo 还没做具体实现
 * Created by Webster on 16/5/8.
 */
@Service("scheduledService")
public class ScheduledServiceImpl extends BaseServiceImpl implements ScheduledService {
    /**
     * Description: 获得作业的dataMap
     *
     */
    @Override
    public Map<String, Object> getJobData(String jobName, String jobGroup) throws SchedulerException {
        return null;
    }

    /**
     * Description: 返回执行历史清单
     */
    @Override
    public Map<String, Object> getExecutedJob(int pageNum, int pageSize, String triggerGroup, String triggerName, String jobGroup, String jobName, String status) throws Exception {
        return null;
    }

    /**
     * Description: 返回操作历史清单
     *
     */
    @Override
    public Map<String, Object> getSchedulerLog(int pageNum, int pageSize) throws Exception {
        return null;
    }

    /**
     * Description: 计划任务操作
     */
    @Override
    public Map<String, Object> getSchedulerOperate(String operate, String jobName, String jobGroup, String triggerName, String triggerGroup) throws Exception {
        return null;
    }

    /**
     * Description: 清除计划任务数据
     */
    @Override
    public Map<String, Object> clearnScheduler(String password) throws SchedulerException {
        return null;
    }

    /**
     * Description: 返回触发器组别列表
     */
    @Override
    public List<Map<String, Object>> getTriggerGroup() throws SchedulerException {
        return null;
    }

    /**
     * Description: 返回作业组别列表
     */
    @Override
    public List<Map<String, Object>> getJobGroup() throws SchedulerException {
        return null;
    }

    /**
     * Description: 启动任务
     */
    @Override
    public Map<String, Object> startScheduler(int waitSeconds) throws SchedulerException {
        return null;
    }

    /**
     * Description: 获得jobDataMap
     */
    @Override
    public JobDataMap getJobDataMap(String jsonJobData) {
        return null;
    }

    /**
     * Description: 添加作业
     */
    @Override
    public Map<String, Object> addJob(String jobName, String jobGroup, String jobClass, String jobDesc, boolean jobShouldRecover, boolean jobDurability, String jsonJobData) throws Exception {
        return null;
    }

    /**
     * Description: 添加cron触发器
     */
    @Override
    public Map<String, Object> addCronTrigger(String jobName, String jobGroup, String triggerName, String triggerGroup, String cronExpression, int priority, Date triggerStartAt, Date triggerEndAt) throws Exception {
        return null;
    }

    /**
     * Description: 添加简单触发器
     */
    @Override
    public Map<String, Object> addSimpleTirgger(String jobName, String jobGroup, String triggerName, String triggerGroup, int triggerRepeatCount, long intervalSeconds, int priority, Date triggerStartAt, Date triggerEndAt) throws Exception {
        return null;
    }

    /**
     * Description: 计划任务待机
     */
    @Override
    public Map<String, Object> standbyScheduler() throws SchedulerException {
        return null;
    }

    /**
     * Description: 停止计划任务
     */
    @Override
    public Map<String, Object> shutDownScheduler(boolean isWaitJobsComplete) throws SchedulerException {
        return null;
    }

    /**
     * Description: 返回计划任务当前状态
     */
    @Override
    public Map<String, Object> getSchedulerStatus() throws SchedulerException {
        return null;
    }

    /**
     * Description: 返回触发器类型
     */
    @Override
    public String getTriggerType(String scheduledName, String triggerName, String triggerGroup) {
        return null;
    }

    /**
     * Description: 返回作业列表
     */
    @Override
    public List<Map<String, Object>> getJobList() {
        return null;
    }

    /**
     * Description: 返回作业明细
     */
    @Override
    public Map<String, Object> getJob(String scheduledName, String jobName, String jobGroup) {
        return null;
    }

    /**
     * Description: 返回Cron触发器明细
     */
    @Override
    public Map<String, Object> getCronTrigger(String scheduledName, String triggerName, String triggerGroup) {
        return null;
    }

    /**
     * Description: 返回cron触发器列表
     */
    @Override
    public List<Map<String, Object>> getCronTriggerList(String scheduledName, String jobName, String jobGroup) {
        return null;
    }

    /**
     * Description: 根据作业返回简单触发器清单
     */
    @Override
    public List<Map<String, Object>> getSimpleTriggerList(String scheduledName, String jobName, String jobGroup) {
        return null;
    }

    /**
     * Description: 返回简单触发器明细
     */
    @Override
    public Map<String, Object> getSimpleTrigger(String scheduledName, String triggerName, String triggerGroup) {
        return null;
    }

    /**
     * Description: 返回计划任务状态列表
     */
    @Override
    public List<Map<String, Object>> getScheduledState() {
        return null;
    }

    /**
     * Description: 获取当前正在执行的任务列表
     */
    @Override
    public List<Map<String, Object>> getFiredTriggers() {
        return null;
    }

    /**
     * Description: 获取计划任务列表
     */
    @Override
    public List<Map<String, Object>> getIntentTriggers(String triggerName, String triggerGroup, String jobName, String jobGroup, String sequence, String orderBy) {
        return null;
    }

    /**
     * Description: 返回MetaData
     */
    @Override
    public Map<String, Object> getScheduledMetaData() throws SchedulerException {
        return null;
    }

    /**
     * 获取日志对象
     */
    @Override
    public Logger getLogger() {
        return null;
    }

    /**
     * 获取参数服务
     */
    @Override
    public ParamService getParamService() {
        return null;
    }
}
